Intra-module Inference
نویسندگان
چکیده
Contract-based property checkers hold the potential for precise, scalable, and incremental reasoning. However, it is difficult to apply such checkers to large program modules because they require programmers to provide detailed contracts, including an interface specification, module invariants, and internal specifications. We argue that given a suitably rich assertion language, modest effort suffices to document the interface specification and the module invariants. However, the burden of providing internal specifications is still significant and remains a deterrent to the use of contract-based checkers. Therefore, we consider the problem of intra-module inference, which aims to infer annotations for internal procedures and loops, given the interface specification and the module invariants. We provide simple and scalable techniques to search for a broad class of desired internal annotations, comprising quantifiers and Boolean connectives, guided by the module specification. We have validated our ideas by building a prototype verifier and using it to verify several properties on Windows device drivers with zero false alarms and small annotation overhead. These drivers are complex; they contain thousands of lines and use dynamic data structures such as linked lists and arrays. Our technique significantly improves the soundness, precision, and coverage of verification of these programs compared to earlier techniques.
منابع مشابه
Data Flow Testing of Aspects
In this paper, we present a dataow based approa h to testing aspe ts. Our approa h onsiders three levels of testing for aspe ts, i.e., intra-module testing, inter-module testing, and intra-aspe t testing. For an individual module (i.e., a pie e of advi e, an introdu tion, or a method), or a publi module along with other modules it alls in an aspe t, we perform intra-module testing or inter-modu...
متن کاملModularized learning of genetic interaction networks from biological annotations and mRNA expression data
MOTIVATION Inferring the genetic interaction mechanism using Bayesian networks has recently drawn increasing attention due to its well-established theoretical foundation and statistical robustness. However, the relative insufficiency of experiments with respect to the number of genes leads to many false positive inferences. RESULTS We propose a novel method to infer genetic networks by allevi...
متن کاملA growing functional module designed to trigger causal inference
“Growing Functional Modules” constitutes a prospective paradigm founded on the epigenetic approach whose proposal consists in designing a distributed architecture, based on interconnected modules, that allows the automatic generation of an autonomous and adaptive controller (artificial brain). The present paper introduces a new module designed to trigger causal inference; its functionality is d...
متن کاملIntegrative Multi-omics Module Network Inference with Lemon-Tree
Module network inference is an established statistical method to reconstruct co-expression modules and their upstream regulatory programs from integrated multi-omics datasets measuring the activity levels of various cellular components across different individuals, experimental conditions or time points of a dynamic process. We have developed Lemon-Tree, an open-source, platform-independent, mo...
متن کاملData-Flow-Based Unit Testing of Aspect-Oriented Programs
The current research so far in aspect-oriented software development is focused on problem analysis, software design, and implementation techniques. Even though the importance of software testing is known, it has received little attention in the aspect-oriented paradigm. In this paper, we propose a data-flow-based unit testing approach for aspectoriented programs. Our approach tests two types of...
متن کامل